.viewport {
    display: flex;
    min-width: 924px;
    max-width: 1420px;
    min-height: 680px;
    margin: 10px auto;
    background: no-repeat 0 0 / contain;
}

.viewport .column {
    flex: 2.8;
    /* background-color: #fff; */
}

.viewport .column:nth-child(2) {
    flex: 4;
    margin: 0 10px;
}


/* 第一列 */


/* 1.1 概览区域模块制作 */

.overview {
    height: 350px;
    background-color: #fff;
    padding: 20px 20px;
    border: 1px solid #e9ecef;
    border-radius: 5px;
}

.overview ul {
    display: flex;
    justify-content: space-between;
}

.overview ul li h4 {
    font-size: 20px;
    color: #000;
    margin: 0 0 0px 13px;
}

.overview ul li span {
    font-size: 15px;
    color: #4c9bfd;
}

.overview .chart_1 {
    margin: 10px 0;
    height: 240px;
    border-radius: 10px 10px 20px 20px;
    box-shadow: 0px 14px 20px 1px rgb(0 0 0 / 30%)
}


/* 1.2 虫类总类查看 */

.insects {
    margin-top: 10px;
    height: 450px;
    background-color: #fff;
    padding: 20px 20px;
    border: 1px solid #e9ecef;
    border-radius: 5px;
}

.insects h1 {
    height: 50px;
    padding-bottom: 5px;
    margin-bottom: 15px;
    color: #2d3436;
    border-bottom: 2px solid #dee2e6;
}

.insects h1 img {
    width: 55px;
}

.insects .chart_2 {
    height: 350px;
    border-radius: 10px 10px 20px 20px;
    box-shadow: 0px 14px 20px 1px rgb(0 0 0 / 30%)
}


/* 第二列 */


/* 2.2 图片展示 */

.sequence {
    padding: 20px 20px 10px;
    margin-top: 5px;
    height: 350px;
    background-color: #fff;
    border: 1px solid #e9ecef;
    border-radius: 5px;
}

.sequence h1 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9ecef;
}

.sequence h1 img {
    margin-right: 10px;
    width: 36px;
    vertical-align: bottom;
}

.sequence .choose {
    font-size: 25px;
}

.sequence .choose img {
    margin: 0 10px;
    width: 20px;
}


/*  tab 转换 */

.sequence .wrapper {
    position: relative;
    width: 540px;
    height: 255px;
    overflow: hidden;
}

.wrapper #left {
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 5px;
}

.wrapper #left li {
    float: left;
    margin-right: 10px;
    width: 70px;
    text-align: center;
    border-radius: 12px;
    box-shadow: 2px 3px 7px 1px rgb(0 0 0 / 30%);
}

.wrapper #left li a {
    font-size: 18px;
}

.wrapper .pic {
    display: flex;
    margin-left: 10px;
}

.wrapper .pic .film {
    position: relative;
    margin: 35px 10px 0 0;
    flex: 1;
    font-size: 25px;
}

.wrapper .pic .film::after {
    content: "";
    width: 51px;
    height: 56px;
    position: absolute;
    top: -5.504px;
    right: 13px;
    border-radius: 50%;
    box-shadow: 47px 0px 6px 7px rgba(0, 0, 0, .04);
}

.wrapper .pic .film img {
    width: 35px;
}

#png {
    margin-top: 8px;
    flex: 10;
    z-index: 1;
}

#png div img {
    width: 445px;
    height: 210px;
    border: 9px solid #fff;
    border-radius: 20px 20px 15px 15px;
    box-shadow: 0px 3px 10px 4px rgb(0 0 0 / 10%);
}


/* 2.3 序列折线图 */

.show_name {
    margin-top: 10px;
    padding: 20px;
    height: 253px;
    background-color: #fff;
}

.show_name .chart_3 {
    height: 220px;
    border-radius: 10px 10px 20px 20px;
    box-shadow: 0px 14px 20px 1px rgb(0 0 0 / 30%)
}


/* 3.1天气模块 */

.weather {
    padding: 20px 30px;
    width: 100%;
    height: 220px;
    background-color: #25c5a9;
    border: 1px solid #e9ecef;
    border-radius: 5px;
    color: #fff;
}

.show_degree {
    font-size: 55px;
}

.show_weather_short,
.greetings {
    font-size: 17px;
}

.wind_direction_power {
    font-size: 15px;
}

.tip {
    width: 210px;
    margin-top: 7px;
    font-size: 15px;
}


/* 3.2 搜素模块 */

.search {
    position: relative;
    margin-top: 10px;
    padding: 20px 30px;
    height: 220px;
    border: 1px solid #e9ecef;
    border-radius: 5px;
    background-color: #fff;
    font-size: 17px;
}

.search .btn {
    position: absolute;
    top: 70px;
    right: 50px;
    width: 80px;
    height: 50px;
    font-size: 20px;
    font-weight: 700;
    color: #81a689;
    background-color: #cde7d3;
    border-radius: 25px 10px 25px 20px;
    box-shadow: 2px 3px 7px 1px rgb(0 0 0 / 30%)
}

.search h1 {
    margin-bottom: 10px;
    padding-bottom: 5px;
    font-size: 20px;
    border-bottom: 1px solid #e9ecef;
}

.search h1 img {
    width: 25px;
}

.search .tips {
    margin-bottom: 5px;
    width: 100%;
    height: 70px;
}

.search .show_time {
    width: 50px;
    text-align: center;
    border: 1px solid #b2bec3;
    border-radius: 12px;
    font-size: 18px;
}

.search #select {
    margin-top: 5px;
    padding: 6px 10px;
    width: 200px;
    font-size: 23px;
    font-weight: 700;
    font-family: '楷体';
    /* 默认有黑色边框，我们需要去掉 */
    border: 1px solid #cdd1d5;
    /* 去掉表单轮廓 */
    outline: none;
    border-radius: 5px;
}

/* 3.3 数据展示模块 */

.monitor {
    margin-top: 10px;
    padding: 20px 30px;
    height: 350px;
    border: 1px solid #e9ecef;
    border-radius: 5px;
    background-color: #fff;
    font-size: 17px;
}

.monitor h1 {
    font-size: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 5px;
}

.monitor h1 a {
    float: right;
    margin-right: 10px;
    padding: 5px 15px;
    font-size: 16px;
    background-color: #cde7d3;
    color: #81a689;
    border-radius: 15px 7px 20px 13px;
    box-shadow: 2px 3px 7px 1px rgb(0 0 0 / 30%)
}

.monitor .icon-cube {
    font-size: 23px;
}

.monitor .content {
    height: 270px;
    flex: 1;
    position: relative;
    border: 1px solid #9bdf70;
    border-radius: 5px;
    background: #f0fbeb;
}

.monitor .head {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 5px;
    font-size: 18px;
    background: #f2fddb;
    border-bottom: 1px solid #9bdf70;
}

.monitor .marquee-view {
    position: absolute;
    margin-top: 5px;
    top: 45px;
    bottom: 0px;
    width: 100%;
    height: 210px;
    font-size: 15px;
    overflow: hidden;
}

.monitor .row {
    position: relative;
    display: flex;
    justify-content: space-between;
    text-align: center;
    padding: 6px 15px 4px 0px;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 10%);
}

.monitor .row .icon-dot {
    position: absolute;
    left: 4px;
    top: 10px;
    opacity: 0;
    color: #000;
}

.monitor .row:hover {
    margin: 0 2px;
    border-radius: 8px;
    box-shadow: 2px 2px 5px 1px rgb(0 0 0 / 20%)
}

.monitor .row:hover .icon-dot {
    opacity: .3;
}

.monitor .col:first-child {
    width: 50px;
}

.monitor .head .col:nth-child(2) {
    margin-left: -15px;
}

.monitor .col:nth-child(2) {
    width: 60px;
    text-align: left;
}

.monitor .col:nth-child(3) {
    width: 60px;
}


/* 通过CSS3动画滚动marquee */

.marquee-view .marquee {
    animation: move 7s linear infinite;
}

@keyframes move {
    0% {}

    100% {
        transform: translateY(-50%);
    }
}


/* 3.鼠标经过marquee 就停止动画 */

.marquee-view .marquee:hover {
    animation-play-state: paused;
}